1. Field of the Invention
The present invention relates to an information processing apparatus and a command multiplicity control method, and is suited for use in, for instance, a storage system.
2. Description of Related Art
In a storage system in which one or more host computers (hereinafter, referred to as “hosts”) and one or more storage apparatuses are connected to each other via a network, each host sends a read command or a write command to the corresponding storage apparatus to read/write the data stored in the storage apparatus.
In such a storage network, the host can normally multiplex a command and send the resultant command to the storage apparatus. Here, command multiplexing indicates that the host continuously sends plural commands such as read commands and write commands without waiting for any response from the storage apparatus. Also, the number of continuously-sent commands is called “multiplicity” (hereinafter referred to as “command multiplicity”).
When the command multiplicity is increased, the host's waiting time during sending of plural commands can be decreased, allowing more efficient communication between the host and the storage apparatus. However, the storage apparatus's capacity (e.g., a receive queue area for storing received commands) is finite. Thus, if the command multiplicity is too large, the so-called QUEUE FULL state, where the storage apparatus cannot receive all of the commands, occurs.
Upon occurrence of the QUEUE FULL state, the storage apparatus sends a QUEUE FULL response, which indicates the occurrence of the QUEUE FULL state, to the host. Upon receiving the QUEUE FULL response, the host records errors or suspends command sending, which leads to deterioration of the I/O performance of the entire storage system. Therefore, the storage system requires some sort of mechanism for preventing the QUEUE FULL state in the storage apparatus from occurring.
In light of the above, a technique of setting the maximum value for command multiplicity for each host connected to a storage apparatus has been proposed as a method for preventing the QUEUE FULL state (see JP2005-322181 A).
However, in the technique proposed in JP2005-322181 A, a system administrator is required to determine and set, in advance, command multiplicity for each host. As a result, where plural hosts are connected to a storage apparatus, the above-described technique has a problem in that the operation involving assigning proper command multiplicity to each host and setting the command multiplicity for the host is cumbersome.
In addition, according to the technique disclosed in JP2005-322181 A, in order to change the command multiplicity setting, the system administrator needs to reset the command multiplicity after stopping the host and then needs to restart the host again. Therefore, the technique disclosed in JP2005-322181 A has a problem in that the command multiplicity setting cannot be changed while an application program on the host is in operation, which leads to entire system unavailability.